Move xattr handling into libgsystem, fix sysroot to handle directory ownership/perms
authorColin Walters <walters@verbum.org>
Tue, 19 Nov 2013 00:47:46 +0000 (19:47 -0500)
committerColin Walters <walters@verbum.org>
Fri, 29 Nov 2013 04:28:13 +0000 (23:28 -0500)
commita24afd68f08c58cc9929d2208497b29e56254375
treea535683bc1ab2ca324a5dca27de1bbd0d218b97c
parenta897b42a7a34b22322b3fc6ac054942977a203b4
Move xattr handling into libgsystem, fix sysroot to handle directory ownership/perms

This large patch moves the core xattr logic down into libgsystem,
which allows the gs_shutil_cp_a() API to copy them.  In turn, this
allows us to just use that API instead of rolling our own recursive
copy here.

As noted in the new comment though, one case that we are explicitly
regressing is where the new /etc removes a parent directory that's
needed by a modified file.  This seems unlikely for most vendors now,
but let's do that as a separate bug.

https://bugzilla.gnome.org/show_bug.cgi?id=711058
Makefile-tests.am
Makefile.am
src/libgsystem
src/libostree/ostree-core-private.h
src/libostree/ostree-core.c
src/libostree/ostree-core.h
src/libostree/ostree-repo-checkout.c
src/libostree/ostree-repo-commit.c
src/libostree/ostree-repo.c
src/libostree/ostree-sysroot-deploy.c
tests/test-admin-deploy-etcmerge-cornercases.sh [new file with mode: 0644]